﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using Business;

namespace OgrIsleri.DashBoard.Modul.Duyurular
{
    public partial class EkleGuncelle : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(IsPostBack) return;

            if (Request.QueryString["Sil"] != null)
                DuyuruSil();

            OnemDoldur();

            if (Request.QueryString["Guncelle"] != null)
                DuyuruGetir();
        }

        private void OnemDoldur()
        {
            using(DbEntities db = new DbEntities())
            {
                var veri = db.tblOnemlers.OrderBy(o => o.OnemID).ToList();
                DpOnem.DataSource = veri;
                DpOnem.DataTextField = "OnemAdi";
                DpOnem.DataValueField = "OnemID";
                DpOnem.DataBind();
            }
        }

        private void DuyuruEkle()
        { 
            using(DbEntities db = new DbEntities())
            {
                tblDuyurular duyuru = new tblDuyurular();
                duyuru.Baslik = txtBaslik.Text;
                duyuru.Tarih = DateTime.Now;
                duyuru.OnemID = Convert.ToInt32(DpOnem.SelectedValue);
                duyuru.Detay = txtDuyuru.Text;
                duyuru.Aktif = chkAktif.Checked;
                duyuru.UserID = (Guid)Membership.GetUser().ProviderUserKey;
                db.tblDuyurulars.Add(duyuru);
                db.SaveChanges();
            }
            Response.Redirect("Liste.aspx");
        }

        private void DuyuruSil()
        {
            using (DbEntities db = new DbEntities())
            {
                int DuyuruID = Convert.ToInt32(Request.QueryString["Sil"]);
                var veri = db.tblDuyurulars.Where(o => o.DuyuruID == DuyuruID).SingleOrDefault();
                db.tblDuyurulars.Remove(veri);
                db.SaveChanges();
            }
            Response.Redirect("Liste.aspx");
        }

        private void DuyuruGetir()
        {
            using (DbEntities db = new DbEntities())
            {
                int DuyuruID = Convert.ToInt32(Request.QueryString["Guncelle"]);
                var duyuru = db.tblDuyurulars.Where(o => o.DuyuruID == DuyuruID).SingleOrDefault();
                txtBaslik.Text = duyuru.Baslik;
                txtDuyuru.Text = duyuru.Detay;
                chkAktif.Checked = (bool)duyuru.Aktif;
                DpOnem.ClearSelection();
                DpOnem.Items.FindByValue(duyuru.OnemID.ToString()).Selected = true;
                BtnKaydet.Text = "Düzenle";
            }
        }

        private void DuyuruGuncelle()
        {
            using (DbEntities db = new DbEntities())
            {
                int DuyuruID = Convert.ToInt32(Request.QueryString["Guncelle"]);
                var duyuru = db.tblDuyurulars.Where(o => o.DuyuruID == DuyuruID).SingleOrDefault();
                duyuru.Baslik = txtBaslik.Text;
                duyuru.Tarih = DateTime.Now;
                duyuru.OnemID = Convert.ToInt32(DpOnem.SelectedValue);
                duyuru.Detay = txtDuyuru.Text;
                duyuru.Aktif = chkAktif.Checked;
                db.SaveChanges();
            }
        }

        protected void BtnKaydet_Click(object sender, EventArgs e)
        {
            if (Request.QueryString["Guncelle"] != null)
            {
                DuyuruGuncelle();
                Response.Redirect("Liste.aspx");
            }
            else
            {
                DuyuruEkle();
                Response.Redirect("Liste.aspx");
            }
        }

    }
}